'''
1、Python的dict是一种数据结构， JSON是一种序列化的数据格式（str）
2、dict的key可以是任意可hash对象， json只能是字符串。
3、dict的key不重复无序，json的key可以有序、重复
4、dict可以嵌套tuple，json里只有数组。
5、json:true、false、null, python True, False, None
6、
'''

# print({(1, 2): 1})
# print({[1, 2]: 1})
import json
# dic = {'str': 'this is a string', 'list': [1, 2, 'a', 'b'], 'sub_dic': {'sub_str': 'this is a sub str', 'su_list': [1, 2, 3]}, 'end': 'end'}
# print(type(dic))
# json_str = json.dumps(dic)
# print(type(json_str))
# json_dict = json.loads(json_str)
# print(json_dict)
# print(json_dict == dict, json_dict == dic)

#
# json_str = '{"a": "1", "b": "2"}'
# json_str = '{'a': "1", "b": "2"}'
# json_str = '{a: "1", "b": "2"}'
# json_str = '{"a": "1", "b": "2", "list": [1, 2],}'
# json_str = '{"a": "1", "b": "2", "list": [1, 2], "tuple": (1, 2)}'
json_str = '{"bool1": true, "bool2": false, "bool3": null, "name": "陈钦昭", "name": "陈钦昭"}'  # json中文必须是unicode编码
dict_str = json.loads(json_str)  # loads json_str → dict
print(dict_str)

# set()创建一个唯不可变的元素集合（unhashable）
set1 = {'text', 1, ('a', 'b')}
set2 = {'text', 1, ['a', 'b']}
#TypeError: unhashable type: 'list'
dict1 = {'a': 1, 'b': 2}
print(type(set1))
print(type(dict1))
